Monitoring machine vibration

ABSTRACT

A method can include receiving time-dependent vibration data characterizing a vibration of a machine. The method can also include generating first conditioned vibration data by at least identification of one or more vibrational peaks of intermediate data representative of the received vibration data, temporal interpolation of one or more portions of the intermediate data including the identified one or more vibrational peaks, and widening the one or more vibrational peaks. The method can further include generating a frequency spectrum based on the first conditioned vibration data. The method can also include providing the frequency spectrum to a user.

BACKGROUND

In some fields, such as industrial fields, machinery is used that maybegin to wear down over time or have an inherent flaw. It can be usefulto monitor the state of this machinery for wear and tear, such as wearand tear due to metal-to-metal impacts, in order to prevent damage orprovide proper maintenance. Monitoring the state of the machine caninvolve demodulation of a signal from a sensor coupled to the machine.

Demodulation is a method of extracting information that can be encodedin a signal. Demodulation can be used to detect fault frequencies of amachine (e.g., fault frequencies indicative of a fault in the machine)from vibration signals detected by a sensor coupled to the machine. Thiscan be done, for example, by demodulating the vibration signal to selectthe fault frequencies. In some cases, the fault frequencies can begenerated by an impact event (e.g., when a member of the machinecollides against a fault [e.g., crack] in the machine). Fault vibrationsassociated with such impact events can be overwhelmed by othervibrations in the machine (e.g., low frequency vibrations generated byvarious moving parts of the machine). Demodulation techniques (e.g.,disclosed in U.S. Pat. No. 5,895,857 to Robinson et al.) have beendeveloped to extract fault frequencies from the vibration signal of themachine.

SUMMARY

Various aspects of the disclosed subject matter may provide one or moreof the following capabilities.

In one implementation, a method can include receiving time-dependentvibration data characterizing a vibration of a machine. The method canalso include generating first conditioned vibration data by at leastidentification of one or more vibrational peaks of intermediate datarepresentative of the received vibration data, temporal interpolation ofone or more portions of the intermediate data including the identifiedone or more vibrational peaks, and widening the one or more vibrationalpeaks. The method can further include generating a frequency spectrumbased on the first conditioned vibration data. The method can alsoinclude providing the frequency spectrum to a user.

One or more of the following features can be included in any feasiblecombination.

In one implementation, generating the first conditioned vibration datacan further include sampling the received vibration data at apredetermined input sampling rate to generate sampled vibration data.The sampled vibration data can include a plurality of vibration valuesand a plurality of time values corresponding to time of sampling of theplurality of vibration values.

In another implementation, a first time value and a second time value ofthe plurality of time values can be separated by a sampling time. Thesampling time is inversely proportional to the input sampling rate.

In one implementation, generating the first conditioned vibration datacan further include rectifying the sampled vibration data to generatethe intermediate data. The rectifying can include replacing one or morevibration values of the plurality of vibration values with theirabsolute values.

In one implementation, generating the first conditioned data can includehigh-pass filtering the sampled vibration data. The high-pass filteringcan include calculating a spectrum of the sampled vibration data,multiplying the determined spectrum with a high-pass filter functionhaving a first filter frequency to generate a first filtered spectrum,and calculating the intermediate data from the first filtered spectrum.Widening a first vibrational peak of the one or more of the identifiedvibrational peaks can include setting values of one or more vibrationalvalues of the sampled vibration data within a first time window tovalues obtained by a peak-widening function.

In one implementation, the first time window can include a first timevalue associated with the first vibrational peak. A duration of thefirst time window can be inversely proportional to the first filterfrequency. In another implementation, the peak-widening function can beone of a rectangular peak-widening function, a trapezoidal peak-wideningfunction, a triangular peak-widening function and a sine-shapepeak-widening function. In yet another implementation, the method canfurther include generating second conditioned vibration data by low-passfiltering the first conditioned vibration data and decimating thelow-pass filtered first condition data at a predetermined outputsampling rate.

In one implementation, low-pass filtering can include calculating aspectrum of the first conditioned vibration data, multiplying thecalculated spectrum with a low-pass filter function to generate a secondfiltered spectrum, and calculating the second conditioned data from thesecond filtered spectrum. In another implementation, the output samplingrate can be lower than the input sampling rate. In yet anotherimplementation, the providing can further include modifying an operationof the machine based on the identified fault frequency.

In one implementation, at least one of the receiving, the generating,the identifying and the providing can be performed by at least one dataprocessor forming part of at least one computing system. In anotherimplementation, generating first conditioned vibration data can furtherinclude determining the portion of intermediate data by selectingvibration values temporally proximal to at least a first peak of theidentified one or more vibrational peaks. The first peak can be thelargest of the one or more vibrational peaks.

In one implementation, the method can include identifying a faultfrequency of the machine based on the generated frequency spectrum ofthe first conditioned vibration data, and providing the identified faultfrequency to the user. In another implementation, generating the firstconditioned vibration data can further include rectifying the temporallyinterpolated portion of the intermediate data including the one or morevibrational peaks. The rectifying can include replacing one or morevibration values of the temporally interpolated portion of theintermediate data with their absolute values.

In one implementation, a method can include receiving time-dependentvibration data characterizing a vibration of a machine. The method canalso include generating first conditioned vibration data by at leastidentification of one or more vibrational peaks of intermediate datarepresentative of the received vibration data, temporal interpolation ofone or more portions of the intermediate data including the identifiedone or more vibrational peaks, and widening the one or more vibrationalpeaks. The method can further include providing the first conditioneddata to a user. In another implementation, the method can furtherinclude generating a frequency spectrum based on the first conditionedvibration data, and providing the first conditioned data to the user.

In one implementation, a system can include at least one data processor(e.g., processor 210), and memory (e.g., memory 212) coupled to the atleast one data processor. The memory storing instructions can cause theat least one data processor to perform operations including receivingtime-dependent vibration data characterizing a vibration of a machine.The operations can also include generating first conditioned vibrationdata by at least identification of one or more vibrational peaks ofintermediate data representative of the received vibration data,temporal interpolation of one or more portions of the intermediate dataincluding the identified one or more vibrational peaks, and widening theone or more vibrational peaks. The operations can further includegenerating a frequency spectrum based on the first conditioned vibrationdata. The operations can also include providing the frequency spectrumto a user.

These and other capabilities of the disclosed subject matter will bemore fully understood after a review of the following figures, detaileddescription, and claims.

BRIEF DESCRIPTION OF THE FIGURES

These and other features will be more readily understood from thefollowing detailed description taken in conjunction with theaccompanying drawings, in which:

FIG. 1 is a flow chart of an exemplary method for detecting a faultfrequency of a machine;

FIG. 2 illustrates an exemplary fault detection system configured todetect fault frequencies associated with the operation of a machine;

FIG. 3 illustrates an exemplary schematic of a peak detection system300;

FIG. 4 illustrates an exemplary plot of highest peaks in the variousspectra generated by the peak detection system of FIG. 3 in response tovarious sinusoidal signals as inputs;

FIG. 5A illustrates an exemplary output signal spectrum from animplementation of existing peak detection algorithm;

FIG. 5B illustrates an exemplary output signal spectrum from animplementation of the peak detection system described in FIG. 3 ; and

FIG. 6 illustrates exemplary plot of highest spectral peaks in thevarious spectra generated by the peak detection system of FIG. 3 inresponse to the various signal pulses of various repetition frequencies.

DETAILED DESCRIPTION

In some environments, for example industrial environments, there may beone or more machines that can be monitored. A machine (e.g., a gearbox)can be complex with multiple components that need to be monitored andmaintained. The components can develop faults during the course of theiroperation (e.g., a crack in a component of the gearbox). Faults canappear in the machine long before the machine malfunctions, andtherefore detecting a fault at an early stage can prolong (e.g., byperforming appropriate maintenance to be performed in a timely manner)the life of the machine. The fault can be detected by detecting avibration associated with the operation of the machine (e.g., operationof the faulty component). The detected vibration can be characterized bya fault frequency, and the detection of the fault frequency can beindicative of the presence of the fault in the machines. However,vibrations detected from an operating machine can include variousunrelated vibrations (e.g., vibrations generated by gear imbalance,misalignment between gears and the driving components, etc.) that canmake it challenging to accurately detect vibrations having the faultfrequency. For example, existing techniques of fault frequency detectioncan require extensive computational processing and can have lowsignal-to-noise ratio. The existing techniques can generate spuriousspectral peaks that can be misleading. The current subject matter canprovide an improved fault detection system that can detect machinevibrations of a desirable frequency (e.g., fault frequency) in thepresence of undesirable machine vibrations and reduce generation ofspurious spectral peaks.

In some implementations of the fault detection system described in thisapplication, vibrations of a machine can be detected and processed toidentify a fault frequency of the machine. The fault detection systemscan suppress undesirable vibration signals that do not correspond to thefault frequency which can result in high signal-to-noise ratio.Undesirable vibration signals can be generated by other vibrations ofthe machine, spurious vibrations generated by a processing algorithmthat processes vibration signals from the machine, and the like. Forexample, presence of faults in a machine can result in impulse events(e.g., periodic impacts between machine parts) that can have a lowrepetition frequency (e.g., several Hertz). However, the frequencyspectrum of the impulse events can include high frequency components(e.g., several kHz). It can be challenging to extract the low repetitionfrequency from the frequency spectrum of the impulse events in anefficient and timely manner, and present the extracted repetitionfrequency to an analyst.

In some instances, fault frequency detection can be improved, forexample, by interpolating vibration data to accuratelyidentify/determine peaks in the vibration data, and by widening theidentified peaks before calculating the vibration spectrum. In someimplementations, peaks of the vibration data can be identified, andvibration data values close to the identified peak can be interpolatedto accurately identify/determine the peak value. Accurate identificationof the peak vibration values can result in fewer/smaller spurious peaksin the vibration spectrum and improve the identification of faultfrequencies.

FIG. 1 is a flow chart 100 of an exemplary method for detecting a faultfrequency of a machine. At step 102, time-dependent vibration data(e.g., time-based) characterizing a vibration of the machine (e.g.,vibrations generated by the operation of the machine) is received. Forexample, a vibration sensor can detect a time-dependent vibration dataassociated with the operation of a machine (e.g., data characterizingthe vibration of the machine over a period of time), and the detectedvibration data can be received by a peak detection system (e.g., acomputing system configured to detect/identify repetitive impulse eventsin the vibration signal and/or compare the detected impulse events withpredetermined fault frequencies, repetitive impulse events in thevibration signal). In some implementations, the received vibration datacan be sampled at an input sampling rate.

FIG. 2 illustrates an exemplary fault detection system 200 configured todetect fault frequencies associated with the operation of machine 202.The fault detection system 200 can include a vibration sensor 204 and apeak-detection system 206. The vibration sensor 204 can detect variousvibrations generated by the machine 202. Certain vibrations (e.g.,vibrations characterized by a fault frequency) detected by the vibrationsensor 204 can be indicative of a fault 212 in the machine 202. As anexample, the vibration having the fault frequency can be generated whenthe ball bearings 214 and 216 interact with the fault 212 as they movealong the channel 218 (e.g., a bearing race) in the machine. If the ballbearings 214 and 216 are moving at a constant speed, they will interactwith the fault 212 (e.g., at regular intervals) to generate thevibration indicative of the presence of the fault. Data characterizingthe vibrations measured by the vibration sensor 204 (“vibration data”)can be relayed to the peak-detection system 206.

The vibration data received by the peak-detection system 206 can beanalyzed to determine the various frequency components of the measuredvibrations. This can be done, for example, by demodulating the receivedvibration data by detecting peaks (e.g., a local maximum value) in themeasured vibration data. The demodulation process can involve performingmultiple operations (e.g., filtering, up-sampling, down-sampling,rectification, etc.) on the received vibration data that can modify thereceived vibration data. For example, if the vibration data is in ananalog form, it can be converted to sampled vibration data by digitizingthe analog vibration data (e.g., by sampling the analog vibration dataat an input sampling rate). The sampled vibration data can include anarray of vibration values and an array of time values corresponding tothe time of sampling of the various vibration values. Adjacent timevalues in the array of time values can be separated by a sampling timewhich is inversely proportional to the input sampling rate. In someimplementations, the vibration data received by the peak-detectionsystem 206 can be in the digitized form (e.g., the vibration sensor 204can digitize the vibration data before broadcasting it to thepeak-detection system 206).

The peak-detection system 206 can include a high-pass filter that canattenuate (e.g., remove) low frequency components of the receivedvibration data/sampled vibration data. For example, the high-pass filtercan receive the sampled vibration data and remove the low frequencycomponents generated by moving components of the machine 202 that arenot indicative of the fault (e.g., fault 212) of the machine 202. Insome implementations, high-pass filtering can be achieved by calculatinga spectrum of the sampled vibration data (e.g., through fast fouriertransform) and by multiplying the calculated spectrum with a high-passfilter function. The high-pass filter function can include acharacteristic high-pass filter frequency such that spectral frequenciesof the calculated spectrum below the characteristic high-pass filterfrequency are attenuated (e.g., removed). Multiplying the calculatedspectrum of sampled vibration data with the high-pass filter functioncan generate a filtered spectrum of the sampled vibration data. Thefiltered spectrum can be converted to the time domain (e.g., by usingfast fourier transform) to generate intermediate data. In someimplementations, high-pass filtering can be achieved using digitalsignal processing techniques (e.g., Finite Impulse Response [FIR],Infinite Impulse Response [IIR], and the like) applied on the sampledvibration data. A user can choose the characteristic high-pass filterfrequency (e.g., corner frequency). For example, he characteristichigh-pass filter frequency can be about 2 kHz. In some implementations,the peak detection system can also include a rectifier (e.g., a fullwave rectifier) that can rectify the intermediate data and/or thesampled vibration data. For example, the rectifier can replace thevibration values in the intermediate data with their absolute values.

Returning to FIG. 1 , at step 104, a first conditioned vibration data isgenerated by identification of one or more vibrational peaks of theintermediate data representative of the received vibration data.Temporal interpolation can be performed on a portion of the intermediatedata that can include the identified one or more vibrational peaks. Forexample, temporal interpolation can be performed on vibration datavalues that are temporally proximal to the identified one or morevibrational peaks. This can allow for accurate determination of peakvalues of the received vibration data. Interpolation of the receivedvibration data (or a portion of the received vibration data) can beachieved, for example, by using interpolation techniques such as linearinterpolation, bi-linear interpolation, quadratic interpolation, cubicinterpolation, and the like.

Vibrational peaks (e.g., a vibrational value temporally surrounded bylower vibration values) can be identified from the temporallyinterpolated vibrational data. This can be done, for example, bysearching for a peak vibrational value (e.g., a local maximum in a plotof interpolated vibrational values versus interpolated time values) inthe interpolated vibrational data. Interpolating the vibration valuescan allow for accurate identification of peak vibration values and thetime of sampling of the peak vibration values. Accurate identificationof the peak vibration values can improve the identification of the faultfrequencies. For example, it can increase the signal-to-noise ratio inthe frequency spectrum of the received vibration data (e.g., bysuppressing spectral components of frequencies that are not faultfrequencies). A higher signal-to-noise ratio can allow for a moreaccurate and a more sensitive detection of fault frequencies. Forexample, fault frequencies can be detected in the presence of vibrations(e.g., strong machine vibrations, environmental vibrations, spuriousvibrations generated by the processing algorithm, etc.) that are notindicative of the fault frequencies.

The first conditioned data can be generated by widening the identifiedpeaks of the interpolated vibrational values within a predetermined timewindow. Widening an identified peak can involve, for example, changingthe vibrational values that are temporally located in the predeterminedtime window. The predetermined time window can include the timeassociated with the identified peak (e.g., time of sampling of theidentified peak). In one implementation, vibrational values in thepredetermined time window are set to the value of the identified peak(e.g., by using a rectangular-shaped widening function). In otherimplementations, the vibrational values in the predetermined time windowcan be determined by a peak-widening function (e.g.,trapezoidal/triangular/sine-shape peak-widening function). The peakwidening function can receive the vibration values in the predeterminedtime window (e.g., including the identified peak) and the discrete timesof sampling in the predetermined time window as inputs, and can generatethe vibrational values in the predetermined time window.

Returning to FIG. 1 , at step 106, a second conditioned vibration datais generated by decimating the first conditioned vibration data at apredetermined output sampling rate. For example, the first conditioneddata can be filtered by a low pass filter (e.g., anti-alias filter) andthe filtered condition data can be down-sampled at the predeterminedoutput sampling rate. Low-pass filtering can prevent high frequencyvibration data from corrupting low frequency vibration data during thefault frequency detection process. Down-sampling the filteredconditioned data can involve, for example, keeping every n^(th) (e.g.,every second, third, fourth, tenth, etc.) vibrational value anddisregarding other vibrational values. The threshold frequency of thelow-pass filter in the decimation process can be inversely proportionalto the output sampling rate. In some implementations, the outputsampling rate can be lower than the input sampling rate (e.g., one-tenthof the input sampling rate).

The low-pass filter can attenuate (e.g., remove) high frequencycomponents of the down-sampled data. In some implementations, low-passfiltering can be achieved by calculating a spectrum of the down-sampleddata (e.g., through fast fourier transform) and by multiplying thedetermined spectrum with a low-pass filter function. The low-pass filterfunction can include a characteristic low-pass filter frequency suchthat spectral frequencies above the characteristic low-pass filterfrequency are attenuated (e.g., removed). Multiplying the spectrum ofthe down-sampled data with the low-pass filter function can generate afiltered spectrum of the down-sampled data. The filtered spectrum can beconverted to the time domain (e.g., by using fast fourier transform) togenerate the second conditioned vibration data. In some implementations,low-pass filtering can be achieved using digital signal processingtechniques (e.g., Finite Impulse Response [FIR], Infinite ImpulseResponse [IIR], and the like).

Returning to FIG. 1 , at step 108, a fault frequency of the machine canbe identified from a frequency spectrum of the second conditionedvibration data. A frequency spectrum of the second conditioned vibrationdata can be determined (e.g., through fast fourier transform) and one ormore fault frequencies can be determined from the spectrum. In someimplementations, a spectral component of the frequency spectrum that hasan amplitude above a threshold value can be designated as a faultfrequency.

At step 110, one or more of the identified fault frequency (or faultfrequencies), the second conditioned vibration data and frequencyspectrum of the second conditioned vibration data can be provided to auser (e.g., an operator monitoring the system). This can be done, forexample, by sending one or more of the identified fault frequency, thesecond conditioned vibration data and frequency spectrum to the usercomputing device (e.g., user computing device 208). In someimplementations, the identified fault frequency can be compared with adatabase of predetermined fault frequencies of the machine and machinecomponents corresponding to the fault frequencies. Based on thecomparison, the machine component with a fault can be identified andprovided to the user. In some implementations, the user computing device208 can provide an operational signal that can modify an operation ofthe machine or provide an alert. For example, the user computing device208 can shut-down the machine when a fault frequency is detected.

FIG. 3 illustrates an exemplary schematic of a peak-detection system300. The peak detection system 300 can receive an analog vibration data302 (e.g., vibrational signal from a vibration sensor) as an input andproduce an output 318 indicative of the fault frequency and/or faultymachine component generating the fault frequency. The peak detectionsystem can include a sampling unit 322 that can receive the analogvibration data 302 and sample it at an input sampling rate to generate adigitized sampled vibration data 304. The peak detection system 300 caninclude a high-pass filter 324 that can receive the sampled vibrationdata 304 and generate a filtered vibration data 306 whose low frequencycomponents are attenuated. In some implementations, an input vibrationdata 302 a which is digitized (e.g., by vibration sensor, anintermediate sampling unit not included in the peak-detection system300, etc.) can be directly received by the high pass filter 324.

The peak detection system 300 can include a rectifier 326 (e.g., fullwave rectifier) that can receive the filtered vibration data 306 of thehigh-pass filter 324 and rectify it to generate intermediate data 308.The peak detection system 300 can further include a peak interpolator328 that can receive the intermediate data 308, identify one or morepeaks in the intermediate data 308, and perform peak interpolation on aportion of the intermediate data 308 temporally proximal to theidentified peak to generate rectified-interpolated data 310. In someimplementations, the peak interpolator 328 can directly receive afiltered vibration data 306 a from the high-pass filter 324 and performpeak interpolation on the filtered vibration data 306 a. Theinterpolated data 308 a generated by interpolating the vibration data306 a can be received and rectified by the rectifier 326 to generateinterpolated-rectified data 310 a. The interpolated-rectified data 310a/rectified-interpolated data 310 can include information of accuratepeak values of the intermediate data 308.

The peak detection system 300 can include a peak widener 330 that canreceive the rectified-interpolated data 310/interpolated-rectified data310 a (e.g., which can include the accurate peak values of intermediatedata 308), and perform peak widening of the received data to generatefirst conditioned data 312. The first conditioned data 312 can bereceived by a decimating unit 332. The decimating unit 332 can apply alow-pass filter to the first conditioned data and down-sample thefiltered data at an output-sampling rate to generate a secondconditioned data 314. A spectrum generator 334 of the peak detectionsystem 300 can receive the second conditioned data 314 and generate avibration spectrum 316 which can be a frequency spectrum of the secondconditioned data 314. The peak detection system 300 can further includea fault identifier 336 that can receive the vibration spectrum 316, andidentify fault frequencies. The fault identifier 336 can compare theidentified fault frequency with a database of predetermined faultfrequencies of the machine and machine components corresponding to thefault frequency. Based on the comparison, the machine component with afault can be identified and provided to the user via the output 318. Insome implementations, the machine component with a fault can beidentified and provided to the user via second conditioned data 314and/or vibration spectrum 316.

FIG. 4 illustrates an exemplary plot 400 of highest peaks in the variousspectra generated by the peak detection system 300 in response tovarious sinusoidal signals as inputs. Sinusoidal signals of variousfrequencies ranging from 100 Hertz (Hz) to 20 Kilohertz (KHz) in stepsof 100 Hz are provided as inputs to the peak detection system 300 (e.g.,as input vibration data 302). The inputs can be sampled with an inputsampling rate (e.g., at 51.2 kHz by sampling unit 322). The outputspectrum (e.g., vibration spectrum 316) for each sinusoidal input can begenerated by performing peak interpolation, peak widening, decimation(e.g., down-sampling and low-pass filtering) and spectrum generation asdescribed in FIG. 3 . For each output spectrum (e.g., corresponding toeach input sinusoidal signals), the highest spectral peak is determinedand plotted. Since the sinusoidal input signals do not incorporate afault frequency, it can be desirable that the highest spectral peakcorresponding to the sinusoidal input is small (e.g., zero). Comparisonof the plot of spectral peaks 400 using an example implementation of thepeak detection described in this application with the plot of spectralpeaks 402 generated using existing peak detection algorithm indicatesthat the example implementation of the peak detection system describedin this application is better at suppressing frequencies that do notcorrespond to a fault frequency.

FIG. 5A illustrates an exemplary output signal spectrum from animplementation of existing peak detection algorithm in response to apulsed signal with 1.6 kHz repetition rate. FIG. 5A is indicative ofpresence of spurious peaks at frequencies that do not correspond to therepetition rate of the pulsed signal. FIG. 5B illustrates an exemplaryoutput signal spectrum from an implementation of the peak detectionsystem 300 in response to a pulsed signal with 1.6 kHz repetition rate.FIG. 5B illustrates that spurious frequencies (e.g., frequencies otherthan the repetition rate) are suppressed.

FIG. 6 illustrates an exemplary plot 600 of highest spectral peaks invarious spectra generated by the example peak detection system 300 inresponse to the various signal pulses of various repetition frequencies.The signal pulses have a time duration of about 20 microseconds andrepetition rate ranging from 100 Hz to 6 kHz in frequency steps of atleast 100 Hz. In some implementations, the frequency step size canincrease at higher frequencies (e.g., frequencies approaching 6 kHz).The input pulses can be sampled with an input sampling rate (e.g., at102.4 kHz by sampling unit 322). The output spectrum (e.g., vibrationspectrum 316) for each input signal can be generated by performing peakinterpolation, peak widening, decimation (e.g., down-sampling andlow-pass filtering) and spectrum generation as described in FIG. 3 . Theduration of predetermined time window in peak-widening process can beinversely proportional to the output sampling rate. Noise signal plot602 represents spurious spectral peaks in vibration spectrum 316 that donot represent the repetition rate in input signal (e.g., input signal302). FIG. 6 illustrates that the noise signal (represented by plot 602)is much smaller than input peak signal (represented by the plot 600) ofspectral peaks of input signal detected by the peak detection system byseveral orders of magnitudes (e.g., by 10-15 dB). This indicates thatthe peak detection system (e.g., peak detection system 300) can suppressspurious noise signal.

Peak detection system described in this application can provide one ormore advantages over existing fault frequency detection systems. Forexample, peak detection system (e.g., peak detection system 300) caninclude a peak interpolator (e.g., peak interpolator 328) and a peakwidener (e.g., peak widener 330) that can interpolate datarepresentative of detected vibration and widen the peaks of theinterpolated data. This can allow the peak interpolation system to lowersignal-to-noise ratio in the output frequency spectrum (e.g., amplitudesof frequencies that do not correspond to the fault frequency aresuppressed relative to the amplitude of the fault frequency). This canreduce/prevent generation of spurious peaks and allow for improvedaccuracy of detection of fault frequencies of the machine. For example,this can prevent inaccurate/delayed diagnosis of machine faults (e.g.,by an analyst) and result in prolonged reliability and/or service life.The peak detection system can allow for detection of fault frequenciesin the presence of vibrational noise (e.g., vibrations generated by slowmoving parts of the machine, environmental noise, etc.).

Other embodiments are within the scope and spirit of the disclosedsubject matter. For example, in some implementations, spurious peaks canbe suppressed by increasing the sampling rate of input signal (e.g., bysampling unit 322) followed by increasing the rate of down sampling bydecimating unit 332. In some implementations, peak to peak measurementof vibration can be performed on the intermediate data and/or thesampled vibration data (e.g., peak to peak measurement can be performedinstead of rectification).

Certain exemplary embodiments are described to provide an overallunderstanding of the principles of the structure, function, manufacture,and use of the systems, devices, and methods disclosed herein. One ormore examples of these embodiments are illustrated in the accompanyingdrawings. Those skilled in the art will understand that the systems,devices, and methods specifically described herein and illustrated inthe accompanying drawings are non-limiting exemplary embodiments andthat the scope of the present invention is defined solely by the claims.The features illustrated or described in connection with one exemplaryembodiment may be combined with the features of other embodiments. Suchmodifications and variations are intended to be included within thescope of the present invention. Further, in the present disclosure,like-named components of the embodiments generally have similarfeatures, and thus within a particular embodiment each feature of eachlike-named component is not necessarily fully elaborated upon

The subject matter described herein can be implemented in digitalelectronic circuitry, or in computer software, firmware, or hardware,including the structural means disclosed in this specification andstructural equivalents thereof, or in combinations of them. The subjectmatter described herein can be implemented as one or more computerprogram products, such as one or more computer programs tangiblyembodied in an information carrier (e.g., in a machine-readable storagedevice), or embodied in a propagated signal, for execution by, or tocontrol the operation of, data processing apparatus (e.g., aprogrammable processor, a computer, or multiple computers). A computerprogram (also known as a program, software, software application, orcode) can be written in any form of programming language, includingcompiled or interpreted languages, and it can be deployed in any form,including as a stand-alone program or as a module, component,subroutine, or other unit suitable for use in a computing environment. Acomputer program does not necessarily correspond to a file. A programcan be stored in a portion of a file that holds other programs or data,in a single file dedicated to the program in question, or in multiplecoordinated files (e.g., files that store one or more modules,sub-programs, or portions of code). A computer program can be deployedto be executed on one computer or on multiple computers at one site ordistributed across multiple sites and interconnected by a communicationnetwork.

The processes and logic flows described in this specification, includingthe method steps of the subject matter described herein, can beperformed by one or more programmable processors executing one or morecomputer programs to perform functions of the subject matter describedherein by operating on input data and generating output. The processesand logic flows can also be performed by, and apparatus of the subjectmatter described herein can be implemented as, special purpose logiccircuitry, e.g., an FPGA (field programmable gate array) or an ASIC(application-specific integrated circuit).

Processors suitable for the execution of a computer program include, byway of example, both general and special purpose microprocessors, andany one or more processor of any kind of digital computer. Generally, aprocessor will receive instructions and data from a read-only memory ora random access memory or both. The essential elements of a computer area processor for executing instructions and one or more memory devicesfor storing instructions and data. Generally, a computer will alsoinclude, or be operatively coupled to receive data from or transfer datato, or both, one or more mass storage devices for storing data, e.g.,magnetic, magneto-optical disks, or optical disks. Information carrierssuitable for embodying computer program instructions and data includeall forms of non-volatile memory, including by way of examplesemiconductor memory devices, (e.g., EPROM, EEPROM, and flash memorydevices); magnetic disks, (e.g., internal hard disks or removabledisks); magneto-optical disks; and optical disks (e.g., CD and DVDdisks). The processor and the memory can be supplemented by, orincorporated in, special purpose logic circuitry.

To provide for interaction with a user, the subject matter describedherein can be implemented on a computer having a display device, e.g., aCRT (cathode ray tube) or LCD (liquid crystal display) monitor, fordisplaying information to the user and a keyboard and a pointing device,(e.g., a mouse or a trackball), by which the user can provide input tothe computer. Other kinds of devices can be used to provide forinteraction with a user as well. For example, feedback provided to theuser can be any form of sensory feedback, (e.g., visual feedback,auditory feedback, or tactile feedback), and input from the user can bereceived in any form, including acoustic, speech, or tactile input.

The techniques described herein can be implemented using one or moremodules. As used herein, the term “module” refers to computing software,firmware, hardware, and/or various combinations thereof. At a minimum,however, modules are not to be interpreted as software that is notimplemented on hardware, firmware, or recorded on a non-transitoryprocessor readable recordable storage medium (i.e., modules are notsoftware per se). Indeed “module” is to be interpreted to always includeat least some physical, non-transitory hardware such as a part of aprocessor or computer. Two different modules can share the same physicalhardware (e.g., two different modules can use the same processor andnetwork interface). The modules described herein can be combined,integrated, separated, and/or duplicated to support variousapplications. Also, a function described herein as being performed at aparticular module can be performed at one or more other modules and/orby one or more other devices instead of or in addition to the functionperformed at the particular module. Further, the modules can beimplemented across multiple devices and/or other components local orremote to one another. Additionally, the modules can be moved from onedevice and added to another device, and/or can be included in bothdevices.

The subject matter described herein can be implemented in a computingsystem that includes a back-end component (e.g., a data server), amiddleware component (e.g., an application server), or a front-endcomponent (e.g., a client computer having a graphical user interface ora web interface through which a user can interact with an implementationof the subject matter described herein), or any combination of suchback-end, middleware, and front-end components. The components of thesystem can be interconnected by any form or medium of digital datacommunication, e.g., a communication network. Examples of communicationnetworks include a wireless network, a local area network (“LAN”) and awide area network (“WAN”), e.g., the Internet.

Approximating language, as used herein throughout the specification andclaims, may be applied to modify any quantitative representation thatcould permissibly vary without resulting in a change in the basicfunction to which it is related. Accordingly, a value modified by a termor terms, such as “about” and “substantially,” are not to be limited tothe precise value specified. In at least some instances, theapproximating language may correspond to the precision of an instrumentfor measuring the value. Here and throughout the specification andclaims, range limitations may be combined and/or interchanged, suchranges are identified and include all the sub-ranges contained thereinunless context or language indicates otherwise.

What is claimed is:
 1. A computer implemented method comprising:receiving, by one or more processors, time-dependent vibration datacharacterizing a vibration of a machine, wherein the time-dependentvibration data is detected by one or more vibration sensors coupled tothe machine and configured to detect the vibration of the machine;generating, by the one or more processors, first conditioned vibrationdata, by: sampling, by the one or more processors, the time-dependentvibration data at a predetermined input sampling rate to generatesampled vibration data, wherein the sampled vibration data comprises aplurality of vibration values and a plurality of time valuescorresponding to time of sampling of the plurality of vibration values,identifying, by the one or more processors, one or more vibrationalpeaks of intermediate data representative of the time-dependentvibration data, wherein the intermediate data is generated from thesampled vibration data, executing, by the one or more processors, atemporal interpolation of one or more portions of the intermediate datacomprising the one or more vibrational peaks, wherein the temporalinterpolation comprises determining at least a first portion of theintermediate data by selecting vibration values temporally proximal toat least a first vibrational peak of the one or more vibrational peaks,and widening, by the one or more processors, the one or more vibrationalpeaks; generating, by the one or more processors, a frequency spectrumbased on the first conditioned vibration data; identifying, by the oneor more processors, a fault frequency from the frequency spectrum bycomparing the frequency spectrum with a set of predetermined faultfrequencies of the machine, the fault frequency being indicative of amachine fault; and providing, by the one or more processors, amodification of an operation of the machine based on the fault frequencyto reduce the machine fault, the modification of the operation of themachine comprising shutting down the machine.
 2. The computerimplemented method of claim 1, wherein a first time value and a secondtime value of the plurality of time values are separated by a samplingtime, wherein the sampling time is inversely proportional to the inputsampling rate.
 3. The computer implemented method of claim 1, whereingenerating the first conditioned vibration data further comprisesrectifying the sampled vibration data to generate the intermediate data,wherein rectifying comprises replacing one or more vibration values ofthe plurality of vibration values with their absolute values.
 4. Thecomputer implemented method of claim 1, wherein generating the firstconditioned data comprises high-pass filtering the sampled vibrationdata, wherein the high-pass filtering is based on a high-pass filterfunction having a first filter frequency.
 5. The computer implementedmethod of claim 4, wherein widening the first vibrational peak of theone or more of the identified vibrational peaks comprises setting valuesof one or more vibrational values of the sampled vibration data within afirst time window to a vibrational value of the first vibrational peak,the first time window comprises a first time value associated with thefirst vibrational peak.
 6. The computer implemented method of claim 5,wherein a duration of the first time window is inversely proportional tothe first filter frequency.
 7. The computer implemented method of claim4, wherein the peak-widening function is one of a rectangularpeak-widening function, a trapezoidal peak-widening function, atriangular peak-widening function and a sine-shape peak-wideningfunction.
 8. The computer implemented method of claim 1, furthercomprising generating second conditioned vibration data by low-passfiltering the first conditioned vibration data and decimating thelow-pass filtered first condition data at a predetermined outputsampling rate.
 9. The computer implemented method of claim 8, whereinthe output sampling rate is lower than the input sampling rate.
 10. Thecomputer implemented method of claim 1, wherein the machine faultcorresponds to a machine component.
 11. The computer implemented methodof claim 1, wherein the first peak is the largest of the one or morevibrational peaks.
 12. The computer implemented method of claim 1,further comprising: providing an alert comprising the identified machinefault.
 13. The method of claim 12, wherein the time-dependent vibrationdata comprises analog vibration data and sampling the time-dependentvibration data, comprises sampling the analog vibration data to generatesampled vibration data in a digitized format.
 14. The computerimplemented method of claim 1, wherein generating the first conditionedvibration data further comprises rectifying the temporally interpolatedportion of the intermediate data comprising the one or more vibrationalpeaks, wherein rectifying comprises replacing one or more vibrationvalues of the temporally interpolated portion of the intermediate datawith their absolute values.
 15. A computer program product comprising anon-transitory machine-readable medium storing instructions that, whenexecuted by at least one programmable processor, cause the at least oneprogrammable processor to perform operations comprising: receivingtime-dependent vibration data characterizing a vibration of a machine,wherein the time-dependent vibration data is detected by one or morevibration sensors coupled to the machine and configured to detect thevibration of the machine; generating first conditioned vibration data,by: sampling the vibration data at a predetermined input sampling rateto generate sampled vibration data, wherein the sampled vibration datacomprises a plurality of vibration values and a plurality of time valuescorresponding to time of sampling of the plurality of vibration values,identifying one or more vibrational peaks of intermediate datarepresentative of the vibration data, wherein the intermediate data isgenerated from the sampled vibration data, executing a temporalinterpolation of one or more portions of the intermediate datacomprising the one or more vibrational peaks, wherein the temporalinterpolation comprises determining at least a first portion of theintermediate data by selecting vibration values temporally proximal toat least a first vibration peak of the identified one or morevibrational peaks, and widening the one or more vibrational peaks;generating a frequency spectrum based on the first conditioned vibrationdata; identifying, by the one or more processors, a fault frequency fromthe frequency spectrum by comparing the frequency spectrum with a set ofpredetermined fault frequencies of the machine, the fault frequencybeing indicative of a machine fault; and providing, by the one or moreprocessors, a modification of an operation of the machine based on thefault frequency to reduce the machine fault, the modification of theoperation of the machine comprising shutting down the machine.
 16. Thecomputer program product of claim 15, further comprising: providing thefirst conditioned data to the user.
 17. A system comprising: at leastone data processor; memory coupled to the at least one data processor,the memory storing instructions to cause the at least one data processorto perform operations comprising: receiving time-dependent vibrationdata characterizing a vibration of a machine, wherein the time-dependentvibration data is detected by one or more vibration sensors coupled tothe machine and configured to detect the vibration of the machine;generating first conditioned vibration data, by: sampling the vibrationdata at a predetermined input sampling rate to generate sampledvibration data, wherein the sampled vibration data comprises a pluralityof vibration values and a plurality of time values corresponding to timeof sampling of the plurality of vibration values, identifying one ormore vibrational peaks of intermediate data representative of thevibration data, wherein the intermediate data is generated from thesampled vibration data, executing a temporal interpolation of one ormore portions of the intermediate data comprising the one or morevibrational peaks, wherein the temporal interpolation comprisesdetermining at least a first portion of the intermediate data byselecting vibration values temporally proximal to at least a firstvibration peak of the identified one or more vibrational peaks, andwidening the one or more vibrational peaks; generating a frequencyspectrum based on the first conditioned vibration data; identifying afault frequency from the frequency spectrum by comparing the frequencyspectrum with a set of predetermined fault frequencies of the machine,the fault frequency being indicative of a machine fault; and providing,by the one or more processors, a modification of an operation of themachine based on the fault frequency to reduce the machine fault, themodification of the operation of the machine comprising shutting downthe machine.